Access point with simultaneous downlink transmission of independent data for multiple client stations

ABSTRACT

A wireless network device includes modulation modules, each configured to receive a data stream and modulate the data stream to generate a modulated data stream. A matrix module generates a multiplexing matrix based on channel conditions between the wireless network device and each of a plurality of client stations, and applies the multiplexing matrix to each of the modulated data streams to generate multiplexed data streams. The wireless network device also includes summing modules, each configured to sum at least two of the multiplexed data streams to generate a transmit data stream. A first transmitter transmits a first one of the transmit data streams during a downlink transmission period to a first one of the client stations. A second transmitter transmits a second one of the transmit data streams to a second one of the client stations while the first transmitter transmits the first one of the transmit data streams.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. patent application Ser. No. 12/175,526 (now U.S. Pat. No. 8,144,647), filed Jul. 18, 2008, which claims the benefit of U.S. Provisional Application No. 60/950,429, filed on Jul. 18, 2007 and U.S. Provisional Application No. 61/057,609, filed on May 30, 2008. The disclosures of the above applications are incorporated herein by reference in their entirety.

FIELD

The present disclosure relates to wireless networks, and more particularly to wireless access points with simultaneous downlink transmission of independent data for multiple wireless client stations.

BACKGROUND

The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent the work is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.

When operating in an infrastructure mode, Wireless Local Area Networks (WLANs) typically include an access point (AP) and one or more client stations. WLANs have evolved rapidly over the past decade. Development of WLAN standards such as IEEE §§802.11a/b/g/n has focused primarily on improving single-user peak data throughput. For example, IEEE §802.11b operates at a single-user peak throughput of 11 Mbps, IEEE §802.11a/g operates at a single-user peak throughput of 54 Mbps, and IEEE §802.11n operates at a single-user peak throughput of 600 Mbps.

In these WLANs, the AP transmits information to one client station at a time in a unicast mode. Alternatively, the same information may be transmitted to a group of client stations concurrently in a multicast mode. This approach reduces network efficiency because other client stations need to wait until the current client station or group of client stations is serviced. When transmitting the same information to the group of client stations, throughput may be limited by one of the client stations with the weakest reception.

SUMMARY

A wireless network device is provided and includes modulation modules. Each of the modulation modules is configured to (i) receive a data stream, and (ii) modulate the data stream to generate a modulated data stream. A matrix module is configured to (i) generate a multiplexing matrix based on channel conditions between the wireless network device and each of a plurality of client stations, and (ii) apply the multiplexing matrix to each of the modulated data streams to generate multiplexed data streams. The wireless network device also includes summing modules. Each of the summing modules is configured to sum at least two of the multiplexed data streams to generate a transmit data stream. A first transmitter is configured to transmit a first one of the transmit data streams during a downlink transmission period to a first one of the client stations. A second transmitter is configured to transmit a second one of the transmit data streams to a second one of the client stations while the first transmitter transmits the first one of the transmit data streams.

In other features, the wireless network device simultaneously transmits the M transmit data streams to R client stations. The wireless network device transmits a first one of the M transmit data streams to at least two client stations and a second one of the M transmit data streams to at least one client station. M receivers respectively receive R acknowledgements (ACKs) from the R client stations during R allocated time slots of the SDT period. Each of the R modulation modules comprises a spatial mapping module that performs spatial mapping of one of the R independent data streams and that generates M spatial data streams; M modulation mapping modules that receive respective ones of the M spatial data streams and that output a set of tones; a multiplexing matrix module that applies the multiplexing matrix to the M sets of tones; and an inverse Fast Fourier Transform module that communicates with an output of the multiplexing matrix module.

In other features, each of the M modulation mapping modules comprises a quadrature amplitude modulation (QAM) module. A multiplexing matrix module generates a respective multiplexing matrix based on channel conditions between the wireless network device and each of the R client stations. The multiplexing matrix module determines a multiplexing matrix for one of the R client stations by minimizing signal energy of signals sent to others of the R client stations. The multiplexing matrix module determines a multiplexing matrix for one of the R client stations by maximizing a minimum signal-to-interference and noise ratio for the R client stations. The multiplexing matrix module determines the multiplexing matrix based on a signal-to-interference and noise ratio (SINR) of the R client stations.

In other features, the multiplexing matrix adjusts at least one of amplitude and phase for tones of the M transmit data streams. A transmitted signal vector s transmitted by the wireless network device is based on:

$s = {\sum\limits_{i = 1}^{N}{W_{i}x_{i}}}$ where x_(i) is an information vector intended for an i^(th) client station, W_(i) is the multiplexing matrix for the i^(th) client station.

In other features, a receiver receives channel state information (CSI) from the R client stations. Alternately, a channel condition estimator estimates channel state information based on signals received from the R client stations. The R independent data streams are arranged as subframes, frames, or packets.

A method comprises receiving R independent data streams; modulating the R independent data streams; applying a multiplexing matrix to generate M modulated and multiplexed data streams, respectively, where R and M are integers greater than one; summing portions of each of the M modulated and multiplexed data streams to generate M transmit data streams; and simultaneously transmitting the M transmit data streams during a simultaneous downlink transmission (SDT) period.

In other features, the method includes transmitting the M transmit data streams to R client stations at the same time. The method includes transmitting a first one of the M transmit data streams to at least two client stations and a second one of the M transmit data streams to at least one client station. The method includes receiving R acknowledgements (ACKs) from the R client stations during R allocated time slots of the SDT period. The method includes performing spatial mapping of one of the R independent data streams and generating M spatial data streams; receiving respective ones of the M spatial data streams and outputting M sets of tones; applying the multiplexing matrix to the M sets of tones; and performing an inverse Fast Fourier Transform.

In other features, each of the M modulation mapping modules comprises a quadrature amplitude modulation (QAM) module. The method includes generating a respective multiplexing matrix based on channel conditions between the wireless network device and each of the R client stations. The method includes determining a multiplexing matrix for one of the R client stations by minimizing signal energy of signals sent to others of the R client stations. The method includes determining a multiplexing matrix for one of the R client stations by maximizing a minimum signal-to-interference and noise ratio for the R client stations. The method includes determining the multiplexing matrix based on a signal-to-interference and noise ratio (SINR) of the R client stations. The method includes adjusting at least one of amplitude and phase for tones of the M transmit data streams. A transmitted signal vector s is based on:

$s = {\sum\limits_{i = 1}^{N}{W_{i}x_{i}}}$ where x_(i) is an information vector intended for an i^(th) client station, W_(i) is the multiplexing matrix for the i^(th) client station.

In other features, the method includes receiving channel state information (CSI) from the R client stations. The method includes estimating channel state information based on signals received from the R client stations. The R independent data streams are arranged as subframes, frames, or packets.

A wireless network device comprises R modulation means for receiving R independent data streams, for modulating the R independent data streams, and for applying a multiplexing matrix to generate M modulated and multiplexed data streams, respectively, where R and M are integers greater than one. M summing means sum portions of each of the M modulated and multiplexed data streams to generate M transmit data streams. M transmitting means simultaneously transmit the M transmit data streams during a simultaneous downlink transmission (SDT) period.

In other features, the wireless network device simultaneously transmits the M transmit data streams to R client stations. The wireless network device transmits a first one of the M transmit data streams to at least two client stations and a second one of the M transmit data streams to at least one client station. M receiving means receive R acknowledgements (ACKs) from the R client stations during R allocated time slots, respectively, of the SDT period. Each of the R modulation means comprises spatial mapping means for performing spatial mapping of one of the R independent data streams and for generating M spatial data streams; M modulation mapping means for receiving respective ones of the M spatial data streams and for outputting M sets of tones; multiplexing matrix means for applying the multiplexing matrix to the M sets of tones; and inverse Fast Fourier Transform means for communicating with an output of the multiplexing matrix means.

In other implementations, each of the M modulation mapping means performs quadrature amplitude modulation (QAM). Multiplexing matrix means generates a respective multiplexing matrix based on channel conditions between the wireless network device and each of the R client stations. The multiplexing matrix means determines a multiplexing matrix for one of the R client stations by minimizing signal energy of signals sent to others of the R client stations. The multiplexing matrix means determines a multiplexing matrix for one of the R client stations by maximizing a minimum signal-to-interference and noise ratio for the R client stations. The multiplexing matrix means determines the multiplexing matrix based on a signal-to-interference and noise ratio (SINR) of the R client stations. The multiplexing matrix adjusts at least one of amplitude and phase for tones of the M transmit data streams.

In other features, a transmitted signal vector s transmitted by the wireless network device is based on:

$s = {\sum\limits_{i = 1}^{N}{W_{i}x_{i}}}$ where x_(i) is an information vector intended for an i^(th) client station, W_(i) is the multiplexing matrix for the i^(th) client station.

In other features, receiving means receives channel state information (CSI) from the R client stations.

In other features, channel condition estimating means estimates channel state information based on signals received from the R client stations. The R independent data streams are arranged as subframes, frames, or packets.

A computer program stored on a computer readable medium and executed by a processor comprises receiving R independent data streams; modulating the R independent data streams; applying a multiplexing matrix to generate M modulated and multiplexed data streams, respectively, where R and M are integers greater than one; summing portions of each of the M modulated and multiplexed data streams to generate M transmit data streams; and simultaneously transmitting the M transmit data streams during a simultaneous downlink transmission (SDT) period.

In other features, the computer program further comprises transmitting the M transmit data streams to R client stations at the same time. The computer program includes transmitting a first one of the M transmit data streams to at least two client stations and a second one of the M transmit data streams to at least one client station. The computer program includes receiving R acknowledgements (ACKs) from the R client stations during R allocated time slots of the SDT period.

In other features, the computer program includes performing spatial mapping of one of the R independent data streams and generating M spatial data streams; receiving respective ones of the M spatial data streams and outputting M sets of tones; applying the multiplexing matrix to the M sets of tones; and performing an inverse Fast Fourier Transform.

In other features, each of the M modulation mapping modules comprises a quadrature amplitude modulation (QAM) module. The computer program includes generating a respective multiplexing matrix based on channel conditions between the wireless network device and each of the R client stations. The computer program includes determining a multiplexing matrix for one of the R client stations by minimizing signal energy of signals sent to others of the R client stations. The computer program includes determining a multiplexing matrix for one of the R client stations by maximizing a minimum signal-to-interference and noise ratio for the R client stations. The computer program includes determining the multiplexing matrix based on a signal-to-interference and noise ratio (SINR) of the R client stations. The computer program includes adjusting at least one of amplitude and phase for tones of the M transmit data streams.

In other features, the computer program includes transmitting a transmitted signal vector s based on:

$s = {\sum\limits_{i = 1}^{N}{W_{i}x_{i}}}$ where x_(i) is an information vector intended for an i^(th) client station, W_(i) is the multiplexing matrix for the i^(th) client station.

In other features, the computer program includes receiving channel state information (CSI) from the R client stations. The computer program includes estimating channel state information based on signals received from the R client stations. The R independent data streams are arranged as subframes, frames, or packets.

In still other features, the systems and methods described above are implemented by a computer program executed by one or more processors. The computer program can reside on a computer readable medium such as but not limited to memory, nonvolatile data storage, and/or other suitable tangible storage mediums.

Further areas of applicability of the present disclosure will become apparent from the detailed description, the claims and the drawings. It should be understood that the detailed description and specific examples are intended for purposes of illustration only and are not intended to limit the scope of the disclosure.

BRIEF DESCRIPTION OF DRAWINGS

The present disclosure will become more fully understood from the detailed description and the accompanying drawings, wherein:

FIG. 1 is a functional black diagram of a WLAN including an access point (AP) and one or more client stations;

FIG. 2 is a timing diagram illustrating legacy windows and a simultaneous down link transmission (SDT) window;

FIG. 3 is a timing diagram illustrating a downlink STD packet and acknowledgments;

FIG. 4A is a functional block diagram of a transmit path of an AP;

FIG. 4B illustrates a method performed by the transmit path of an AP;

FIG. 5A illustrates an exemplary SDT client station;

FIG. 5B illustrates a method performed by the SDT client station of FIG. 5A;

FIG. 6A illustrates an exemplary AP;

FIG. 6B illustrates a method performed by the AP of FIG. 6A;

FIG. 7A illustrates an exemplary AP;

FIG. 7B illustrates a method performed by the AP of FIG. 7A;

FIG. 8A is a functional block diagram of a high definition television;

FIG. 8B is a functional block diagram of a vehicle control system;

FIG. 8C is a functional block diagram of a cellular phone;

FIG. 8D is a functional block diagram of a set top box; and

FIG. 8E is a functional block diagram of a mobile device.

DESCRIPTION

The following description is merely exemplary in nature and is in no way intended to limit the disclosure, its application, or uses. For purposes of clarity, the same reference numbers will be used in the drawings to identify similar elements. As used herein, the phrase at least one of A, B, and C should be construed to mean a logical (A or B or C), using a non-exclusive logical or. It should be understood that steps within a method may be executed in different order without altering the principles of the present disclosure.

As used herein, the term module refers to an Application Specific Integrated Circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and memory (shared, dedicated, or group) that execute one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality.

A wireless network device such as an access point (AP) according to the present disclosure transmits independent data streams to multiple client stations simultaneously (hereinafter simultaneous downlink transmission (SDT)). Using this approach increases the number of client stations that can be serviced by a single AP during a given time interval. In addition, in one aspect, the present disclosure takes advantage of differing channel conditions of client stations associated with the AP to improve throughput.

Referring now to FIG. 1, a wireless local area network (WLAN) 10 includes an access point (AP) 14. The AP 14 includes a network interface 16 including a medium access control (MAC) module 18, a physical layer (PHY) module 20, M transceivers 22-1, 22-2, . . . , 22-M, and M antennas 24-1, 24-2, . . . , 24-M (collectively antennas 24), where M is an integer greater than one.

The WLAN 10 is associated with T client stations 26-1, 26-2, . . . , 26-T (collectively client stations 26), where T is an integer greater than one. R of the T client stations are SDT enabled, and (T−R) of the T client stations 26 may be legacy client stations that are not SDT enabled, where R is an integer less than or equal to T. Each of the client stations 26 may include a network interface 27 including a MAC module 28, a PHY module 29, P_(i) transceivers 30-1, 30-2, . . . , 30-P_(i), and P_(i) antennas 32-1, 32-2, . . . , 32-P_(i), where P_(i) is an integer greater than zero, and i corresponds to an i^(th) one of the T client stations 26. The client stations 26 may have different numbers of transceivers and antennas.

The AP 14 simultaneously transmits independent data to two or more of the R client stations 26 that are SDT enabled during an SDT window. For example, during a given SDT window, the AP 14 can transmit first data to a first SDT enabled client station while simultaneously transmitting second data to a second SDT enabled client data station. The SDT window includes a SDT portion and an acknowledgement portion following the SDT portion. For example only, the independent data may be arranged as packets, frames or sub-frames. In addition, the AP 14 may also transmit and receive data to/from the (T−R) legacy client stations 26 in a conventional manner (e.g., using a non-overlapping transmission approach) during a legacy window, such as a carrier sense multiple access (CSMA) window. Multi-user throughput is the sum of single-user throughputs of simultaneously serviced client stations 26. Multi-user throughput is based on the number of users that can be reliably serviced simultaneously. Increasing the number of transmit antennas tends to improve the ability of the AP 14 to simultaneously service more client stations 26.

The AP 14 and the client stations 26 may communicate using orthogonal frequency division multiplexing (OFDM) processing. A multiplexing matrix W for each of the client stations 26 may be determined based on channel conditions between the AP 14 and the client station 26 for each OFDM tone. For example, channel knowledge may be obtained at the AP 14 using explicit simultaneous downlink transmission (SDT) and/or implicit SDT. For explicit SDT, the client station 26 feeds back channel state information (CSI) to the AP 14. For implicit SDT, the AP 14 infers the CSI or channel conditions from signals received from the client station 26 on a reverse link. The implicit SDT approach may incorporate an initial calibration exchange so that the AP 14 can calculate an appropriate correction matrix to infer forward channel conditions from the reverse channel conditions. The client stations 26 may be simultaneously serviced using the above techniques. The multiplexing matrix W for a client station 26 may be refreshed periodically—e.g., when certain events occur and/or when client channel conditions change.

A signal (or vector) to be transmitted to each client station 26 may be multiplied by a corresponding multiplexing matrix W. The multiplexing matrix W for each client station 26 will generally be different from that for other client stations 26. The multiplexing matrix W will typically be a function of the channel conditions between the AP 14 and the respective ones of the client stations 26. Steered signal vectors corresponding to the different client stations 26 are combined (e.g., added) and simultaneously transmitted by the AP 14 during an SDT window. The client stations 26 that receive the SDT data send an acknowledgement (ACK) during an allocated time slot during a later portion of the SDT window as will be described further below.

Each client station 26 receives signals intended for the client station 26 and signals intended for other client stations 26 as transformed by the channel. The multiplexing matrix W may be constructed based on interference avoidance and/or signal-to-interference and noise ratio (SINR) balancing. Interference avoidance attempts to minimize the amount of non-desired signal energy arriving at a client station 26. In the best case, interference avoidance ensures that signals intended for a particular client station 26 arrive only at the desired client station(s).

In addition to interference avoidance, signal-to-interference and noise ratio (SINR) balancing may be performed by the AP 14. SINR balancing involves designing multiplexing matrices to actively control the SINRs observed at the serviced client stations 26. For example, one SINR balancing approach may include maximizing the minimum SINR across serviced client stations 26.

A transmission signal model for a single tone for OFDM according to one implementation is set forth below:

$s = {\sum\limits_{i = 1}^{N}{W_{i}x_{i}}}$ where s is a transmitted signal vector for one tone, N is a number of simultaneously serviced users, x_(i) is an information vector (T_(i)×1, T_(i)<P_(i)) intended for the i^(th) user, W_(i) is a multiplexing matrix (M×T_(i)) for the i^(th) user, M is a number of transmit antennas of the AP 14, and P_(i) is the number of receive antennas of the i^(th) client station 26. The transmission signal model extends to other OFDM tones. In addition, other modulation schemes and/or variants of OFDM may be used such as orthogonal OFDM multiple access (OFDMA).

For example only, the AP 14 determines the multiplexing matrix W for each of the client stations 26 based on channel conditions between the AP 14 and the respective client stations 26. The channel conditions for each of k tones of an OFDM signal may be as shown in Table I:

TABLE I Tones Client Station 1 H₁ ¹ H₂ ¹ H₃ ¹ . . . H_(k) ¹ Client Station 2 H₁ ² H₂ ² H₃ ² . . . H_(k) ² . . . . . . . . . . . . . . . . . . Client Station H₁ ^(S) H₂ ^(S) H₃ ^(S) . . . H_(k) ^(S) H₁ ¹ represents the channel for a first tone of a first client station 26, H₂ ¹ represents the channel for second tone of the first client station 26, etc. The first tone received by the first client station 26 will be H₁ ¹[W₁ ¹s₁+W₁ ²s₂+ . . . +W₁ ^(N)s_(S)]. The multiplexing matrix W may be selected to allow the first client station 26 to receive H₁ ¹W₁ ¹s₁ and to have the remaining signals s₂, s₃, . . . , s_(S) be in a null space for the first client station 26. Therefore when using the signal interference approach, the values of the multiplexing matrix W are selected such that H₁ ¹W₁ ²≈0, . . . , H₁ ¹W₁ ^(N)≈0. In other words, the multiplexing matrix W adjusts phases and amplitudes for these OFDM tones such that a null is created at the first client station 26. That way, the first client station 26 can receive the intended signal s₁ without interference from other signals s₂, s₃, . . . , s_(S) intended for the other client stations 26.

Power available to the AP 14 is typically constrained. When servicing multiple client stations 26 simultaneously, power available at the AP 14 may be allocated across multiple client stations 26. This, in turn, affects the SINR observed at each of the client stations 26. SDT tends to work best with flexible power management across the client stations 26. For instance, a client station 26 with low data rate requirements may be allocated less power by the AP 14. For instance, power may only be allocated to client stations 26 that have high probability of reliable reception (so as not to waste transmit power). Power may be adjusted in the corresponding multiplexing matrix W and/or after using other amplitude adjustment methods.

Independent data may also be simultaneously multicast to groups (independent across groups) of client stations 26. SDT may also be combined with the concept of data aggregation. Frames transmitted from the AP 14 may be divided into subframes. Conventionally, each subframe is addressed to a single client station 26 or a group of client stations 26. With SDT each sub-frame may carry independent information to client stations 26 or groups of client stations 26.

Referring now to FIGS. 2 and 3, exemplary legacy windows and SDT windows used by the AP 14 are shown. The AP 14 may transmit or receive data to/from legacy client stations 26 during legacy windows 50, 52. For example, the legacy windows 50, 52 may be CSMA windows. During an SDT window 54, the AP 14 sends SDT data 60 to multiple client stations 26 and then receives acknowledgements from the client stations 26. During the SDT window 54, other network devices are unable to transmit data. Time sufficient for the SDT window 54 may be arranged with the legacy client stations using MAC mechanisms provided by existing WLAN specifications.

In FIG. 3, the downlink SDT data 60 may be followed by a period of acknowledgments (ACKs) 62-1, 62-2, . . . 62-X (collectively ACKs 62) from SDT-enabled client stations 26 that received data during the SDT window 54. The ACKs 62 may be transmitted after the SDT data based on a fixed schedule (e.g., using a time slot based approach). Allocation of the time slots may be performed by the AP 14. For example, timing data based on the allocation of the time slots may be sent to the client stations 26 in the SDT downlink frame. However, the allocation of time for ACKs may be distributed using other approaches and/or at other times.

Referring now to FIGS. 4A and 4B, a transmit path 100 of the AP 14 is shown. The transmit path 100 includes encoder modules 110-1, 110-2, . . . , 110-R (collectively encoder modules 110) that receive R independent bit streams intended for R client stations 26. The encoder modules 110 output encoded bit streams to spatial mapping modules 114-1, 114-2, . . . , 114-R (collectively spatial mapping modules 114), which perform spatial mapping.

Outputs of the spatial mapping modules 114 are input to quadrature amplitude modulation (QAM) mapping modules 116-11, 116-12, . . . , 116-RM (collectively QAM mapping modules 116), which perform QAM and serial-to-parallel (S/P) conversion. The QAM mapping modules 116 output OFDM tones that are input to multiplexing matrix modules 118-1, 118-2, . . . , 118-R (collectively multiplexing matrix modules 118). The multiplexing matrix modules 118 multiply the OFDM tones by a multiplexing matrix W as described herein.

Outputs of the multiplexing matrix modules 118 are input to inverse Fast Fourier Transform (IFFT) modules 120-11, 120-12, . . . , 120-RM (collectively IFFT modules 120). Outputs of the IFFT modules 120 are input to a parallel-to-serial (P/S) converter and cyclic prefix modules 124-11, 124-12, . . . , 124-RM (collectively P/S and CP modules 124). Outputs of the P/S and CP modules 124 are input to digital-to-analog converters (DACs) 128-11, 128-12, . . . , 128-RM (collectively DACs 128). Summing modules 132-1, 132-2, . . . , 132-M sum corresponding outputs of the DACs 128 for each of the data streams and output the sum to transmitters 134-1, 134-2, . . . , 134-M and associated antennas.

In FIG. 4B, a method 200 performed by the transmit path 100 of the AP 14 is shown. The method begins with step 202 and proceeds to step 203. In step 203, the AP 14 may reserve a clear channel by instructing legacy client stations to refrain from transmitting during an SDT period. In step 204, the AP 14 may add ACK timing slot data for the SDT-enabled client stations.

In step 206, the transmit path 100 encodes multiple independent data dreams for different client stations. In step 208, spatial mapping is performed on the multiple data streams. In step 210, quadrature amplitude modulation is performed on the multiple data streams. In step 212, the SDT multiplexing matrix W is applied to the multiple data streams. In step 214, an inverse Fast Fourier Transform (IFFT) is performed on the multiple data streams. In step 216, the multiple data streams are converted from digital to analog format. The multiple data streams are summed in step 218 and transmitted at the same time in step 220. The method ends with step 222.

Referring now to FIGS. 5A and 5B, an exemplary client station 26 is shown. The client station 26 is SDT enabled and includes the MAC module 28 and the PHY module 29. The MAC module 28 further includes an ACK timing module 240 and a channel estimation module 242. The ACK timing module 240 receives an acknowledgment timing slot from the AP 14 as described above. The ACK timing module 240 determines when to transmit an ACK after receiving the SDT data.

In FIG. 5B, a method performed by the client station 26 of FIG. 5A is shown. The method 260 begins with step 262. In step 264, the client station 26 determines whether the SDT data 60 was received. If not, normal operation is performed in step 266 and the method returns to step 264. When step 264 is true, an ACK timer is started in step 270. The SDT data 60 is received in step 272. The method determines whether the ACK timer is up (i.e., whether the timer has reached an end-point) in step 274. If not, control returns to step 274. When step 274 is true, control continues with step 276 and sends an ACK to the AP 14.

Referring now to FIGS. 6A and 6B, an exemplary AP 14 is shown. The AP 14 includes the MAC module 18 and the PHY module 20 as described. The MAC module 18 includes a control module 300 that receives CSI from the client stations 26 that are SDT enabled. The client stations 26 may generate the CSI in a conventional manner. The CSI may include channel information for each of the tones. The control module 300 outputs the CSI to an SDT multiplexing matrix adjusting module 304, which adjusts an SDT multiplexing matrix 308 for the tones.

The AP 14 may further include a data aggregation module 307 that selectively aggregates the SDT data into packets, frames and/or subframes. SDT data transmitted by the AP 14 may be divided into subframes by the data aggregation module 307. Conventionally, each subframe is addressed to a single client station or a group of client stations. With SDT, each sub-frame may carry independent information to client stations and/or groups of client stations.

The AP 14 may further include a time slot allocation module 309 that assigns time slots for ACKs from the client stations 26. In some implementations, the time slot allocation module 309 inserts time allocation data into the SDT data for each client station 26.

In FIG. 6B, a method 320 performed by the AP 14 of FIG. 6A is shown. The method begins with step 322 and proceeds with step 324 where the AP 14 determines whether new CSI has been received from one of the client stations. If step 324 is false, control returns to step 324. If step 324 is true, the SDT matrix adjusting module 304 adjusts the SDT multiplexing matrix 308 in step 326. Control ends with step 328.

In FIGS. 7A and 7B, an exemplary AP 14 according to the present disclosure is shown. The AP 14 includes the MAC module 18 and the PHY module 20. The MAC module 18 includes channel estimating module 340. The channel estimating module 340 estimates CSI for the client stations 26. The channel estimating module 340 outputs the CSI to the SDT multiplexing matrix adjusting module 304, which adjusts the SDT multiplexing matrix 308 for the particular client station 26.

In FIG. 7B, a method 360 performed by the AP 14 of FIG. 7A is shown. The method begins with step 362 and proceeds with step 364 where the AP 14 determines whether new CSI has been estimated for a client station 26. If step 364 is false, control returns to step 364. In step 364 is true, the SDT multiplexing matrix adjusting module 304 adjusts the SDT multiplexing matrix 308 in step 366. Control ends with step 368.

The network interfaces may otherwise be complaint with IEEE standards—e.g., IEEE standards 802.11, 802.11a, 802.11b, 802.11g, 802.11h, 802.11n, 802.16, and/or 802.20, and/or Bluetooth, which are incorporated herein by reference in their entirety.

The present disclosure increases throughput by simultaneously transmitting independent data streams to multiple client stations. The present disclosure includes the use of multiple antennas at an AP to achieve SDT. The AP may consider a variety of criteria (interference avoidance, SINR balancing or other approach) to improve multi-user throughput. The AP may combine power allocation and SDT for maximal gains in throughput. The present disclosure also may combine SDT with multicast and data aggregation. A reserved time period during which legacy devices are forbidden from transmitting may be used during which SDT is conducted in the network. The reserved time interval may be divided into a time period for downlink of the SDT data and a time period for uplink ACKs from receiving client stations.

Referring now to FIGS. 8A-8E, various exemplary implementations incorporating the teachings of the present disclosure are shown. Referring now to FIG. 8A, the teachings of the disclosure can be implemented in a wireless network interface of a high definition television (HDTV) 937. The HDTV 937 includes an HDTV control module 938, a display 939, a power supply 940, memory 941, a storage device 942, a network interface 943, and an external interface 945. If the network interface 943 includes a wireless local area network interface, an antenna (not shown) may be included.

The HDTV 937 can receive input signals from the network interface 943 and/or the external interface 945, which can send and receive data via cable, broadband Internet, and/or satellite. The HDTV control module 938 may process the input signals, including encoding, decoding, filtering, and/or formatting, and generate output signals. The output signals may be communicated to one or more of the display 939, memory 941, the storage device 942, the network interface 943, and the external interface 945.

Memory 941 may include random access memory (RAM) and/or nonvolatile memory. Nonvolatile memory may include any suitable type of semiconductor or solid-state memory, such as flash memory (including NAND and NOR flash memory), phase change memory, magnetic RAM, and multi-state memory, in which each memory cell has more than two states. The storage device 942 may include an optical storage drive, such as a DVD drive, and/or a hard disk drive (HDD). The HDTV control module 938 communicates externally via the network interface 943 and/or the external interface 945. The power supply 940 provides power to the components of the HDTV 937.

Referring now to FIG. 8B, the teachings of the disclosure may be implemented in a wireless network interface of a vehicle 946. The vehicle 946 may include a vehicle control system 947, a power supply 948, memory 949, a storage device 950, and a network interface 952. If the network interface 952 includes a wireless local area network interface, an antenna (not shown) may be included. The vehicle control system 947 may be a powertrain control system, a body control system, an entertainment control system, an anti-lock braking system (ABS), a navigation system, a telematics system, a lane departure system, an adaptive cruise control system, etc.

The vehicle control system 947 may communicate with one or more sensors 954 and generate one or more output signals 956. The sensors 954 may include temperature sensors, acceleration sensors, pressure sensors, rotational sensors, airflow sensors, etc. The output signals 956 may control engine operating parameters, transmission operating parameters, suspension parameters, brake parameters, etc.

The power supply 948 provides power to the components of the vehicle 946. The vehicle control system 947 may store data in memory 949 and/or the storage device 950. Memory 949 may include random access memory (RAM) and/or nonvolatile memory. Nonvolatile memory may include any suitable type of semiconductor or solid-state memory, such as flash memory (including NAND and NOR flash memory), phase change memory, magnetic RAM, and multi-state memory, in which each memory cell has more than two states. The storage device 950 may include an optical storage drive, such as a DVD drive, and/or a hard disk drive (HDD). The vehicle control system 947 may communicate externally using the network interface 952.

Referring now to FIG. 8C, the teachings of the disclosure can be implemented in a wireless network interface of a cellular phone 958. The cellular phone 958 includes a phone control module 960, a power supply 962, memory 964, a storage device 966, and a cellular network interface 967. The cellular phone 958 may include a network interface 968, a microphone 970, an audio output 972 such as a speaker and/or output jack, a display 974, and a user input device 976 such as a keypad and/or pointing device. If the network interface 968 includes a wireless local area network interface, an antenna (not shown) may be included.

The phone control module 960 may receive input signals from the cellular network interface 967, the network interface 968, the microphone 970, and/or the user input device 976. The phone control module 960 may process signals, including encoding, decoding, filtering, and/or formatting, and generate output signals. The output signals may be communicated to one or more of memory 964, the storage device 966, the cellular network interface 967, the network interface 968, and the audio output 972.

Memory 964 may include random access memory (RAM) and/or nonvolatile memory. Nonvolatile memory may include any suitable type of semiconductor or solid-state memory, such as flash memory (including NAND and NOR flash memory), phase change memory, magnetic RAM, and multi-state memory, in which each memory cell has more than two states. The storage device 966 may include an optical storage drive, such as a DVD drive, and/or a hard disk drive (HDD). The power supply 962 provides power to the components of the cellular phone 958.

Referring now to FIG. 8D, the teachings of the disclosure can be implemented in a wireless network interface of a set top box 978. The set top box 978 includes a set top control module 980, a display 981, a power supply 982, memory 983, a storage device 984, and a network interface 985. If the network interface 985 includes a wireless local area network interface, an antenna (not shown) may be included.

The set top control module 980 may receive input signals from the network interface 985 and an external interface 987, which can send and receive data via cable, broadband Internet, and/or satellite. The set top control module 980 may process signals, including encoding, decoding, filtering, and/or formatting, and generate output signals. The output signals may include audio and/or video signals in standard and/or high definition formats. The output signals may be communicated to the network interface 985 and/or to the display 981. The display 981 may include a television, a projector, and/or a monitor.

The power supply 982 provides power to the components of the set top box 978. Memory 983 may include random access memory (RAM) and/or nonvolatile memory. Nonvolatile memory may include any suitable type of semiconductor or solid-state memory, such as flash memory (including NAND and NOR flash memory), phase change memory, magnetic RAM, and multi-state memory, in which each memory cell has more than two states. The storage device 984 may include an optical storage drive, such as a DVD drive, and/or a hard disk drive (HDD).

Referring now to FIG. 8E, the teachings of the disclosure can be implemented in a wireless network interface of a mobile device 989. The mobile device 989 may include a mobile device control module 990, a power supply 991, memory 992, a storage device 993, a network interface 994, and an external interface 999. If the network interface 994 includes a wireless local area network interface, an antenna (not shown) may be included.

The mobile device control module 990 may receive input signals from the network interface 994 and/or the external interface 999. The external interface 999 may include USB, infrared, and/or Ethernet. The input signals may include compressed audio and/or video, and may be compliant with the MP3 format. Additionally, the mobile device control module 990 may receive input from a user input 996 such as a keypad, touchpad, or individual buttons. The mobile device control module 990 may process input signals, including encoding, decoding, filtering, and/or formatting, and generate output signals.

The mobile device control module 990 may output audio signals to an audio output 997 and video signals to a display 998. The audio output 997 may include a speaker and/or an output jack. The display 998 may present a graphical user interface, which may include menus, icons, etc. The power supply 991 provides power to the components of the mobile device 989. Memory 992 may include random access memory (RAM) and/or nonvolatile memory.

Nonvolatile memory may include any suitable type of semiconductor or solid-state memory, such as flash memory (including NAND and NOR flash memory), phase change memory, magnetic RAM, and multi-state memory, in which each memory cell has more than two states. The storage device 993 may include an optical storage drive, such as a DVD drive, and/or a hard disk drive (HDD). The mobile device may include a personal digital assistant, a media player, a laptop computer, a gaming console, or other mobile computing device.

Those skilled in the art can now appreciate from the foregoing description that the broad teachings of the disclosure can be implemented in a variety of forms. Therefore, while this disclosure includes particular examples, the true scope of the disclosure should not be so limited since other modifications will become apparent upon a study of the drawings, the specification, and the following claims. 

What is claimed is:
 1. A wireless network device comprising: matrix modules configured to (i) receive modulated data streams, and (ii) generate matrices, wherein each of the matrix modules is configured to (i) generate one of the matrices based on channel conditions between the wireless network device and a corresponding one of a plurality of client stations, and (ii) apply the one of the matrices to each of the modulated data streams to generate multiplexed data streams; summing modules, wherein each of the summing modules is configured to sum at least two of the multiplexed data streams to generate a transmit data stream; a first transmitter configured to transmit a first one of the transmit data streams during a downlink transmission period to a first one of the plurality of client stations; and a second transmitter configured to transmit a second one of the transmit data streams to a second one of the client stations while the first transmitter transmits the first one of the transmit data streams.
 2. The wireless network device of claim 1, further comprising modulation modules, wherein each of the modulation modules is configured to (i) receive a data stream, and (ii) modulate the received data stream to generate one of the modulated data streams.
 3. The wireless network device of claim 1, wherein the first transmitter is configured to transmit the first one of the transmit data streams during the downlink transmission period to (i) the first one of the plurality of client stations, and (ii) the second one of the plurality of client stations.
 4. The wireless network device of claim 1, further comprising: encoder modules configured to receive bit streams to generate encoded bit streams; spatial mapping modules configured to spatially map the encoded bit streams to generate data streams; and modulation modules configured to modulate the data streams generated by the spatial mapping modules to generate the modulated data streams.
 5. The wireless network device of claim 1, further comprising modulation modules configured to (i) receive data streams from spatial mapping modules, and (ii) generate sets of orthogonal frequency division multiplexing tones, wherein: the modulated data streams comprise the sets of orthogonal frequency division multiplexing tones; and the matrix modules are configured to apply the matrices to the sets of orthogonal frequency division multiplexing tones to generate the multiplexed data streams.
 6. The wireless network device of claim 5, wherein the modulation modules comprise quadrature amplitude modulation modules.
 7. The wireless network device of claim 1, further comprising transform modules configured to outputs of the matrix modules to generate the multiplexed data streams.
 8. The wireless network device of claim 7, further comprising: cyclic prefix modules each configured to add a cyclic prefix to a respective output of one of the transform modules; and digital-to-analog converters configured to convert outputs of the cyclic prefix modules to analog signals, wherein the analog signals include the multiplexed data streams.
 9. The wireless network device of claim 1, wherein the matrix modules are configured to generate one of the matrices for one of the plurality of client stations by minimizing signal energy of signals sent to others of the plurality of client stations.
 10. The wireless network device of claim 1, wherein the matrix modules are configured to generate one of the matrices for one of the plurality of client stations by maximizing a minimum signal-to-interference and noise ratio for the plurality of client stations.
 11. The wireless network device of claim 1, wherein the matrix modules are configured to determine the matrices based on a signal-to-interference and noise ratio of the plurality of client stations.
 12. The wireless network device of claim 1, wherein the matrix modules are configured to, for tones of the transmit data streams, adjust at least one of amplitude or phase.
 13. The wireless network device of claim 1, wherein one of the first transmitter and the second transmitter is configured to transmit a signal vector s, where: ${S = {\sum\limits_{i = 1}^{N}{W_{i}x_{i}}}};$ x_(i) is an information vector for an i^(th) one of the plurality of client stations; and W_(i) is the matrix for the i^(th) one of the plurality of client stations.
 14. The wireless network device of claim 1, further comprising a receiver configured to receive channel state information from the plurality of client stations, wherein the matrix modules are configured to generate the matrices based on the channel state information.
 15. The wireless network device of claim 1, further comprising: a receiver; and a channel condition estimator configured to estimate channel state information based on signals received from the plurality of client stations, wherein the matrix modules are configured to generate the matrices based on the channel state information.
 16. A method comprising: receiving modulated data streams at matrix modules; generating matrices via the matrix modules including (i) generating one of the matrices based on channel conditions between a wireless network device and a corresponding one of a plurality of client stations, and (ii) applying the one of the matrices to each of the modulated data streams to generate multiplexed data streams; summing at least two of the multiplexed data streams to generate transmit data streams; transmitting a first one of the transmit data streams during a downlink transmission period to a first one of the plurality of client stations; and transmitting a second one of the transmit data streams to a second one of the client stations while transmitting the first one of the transmit data streams.
 17. The method of claim 16, further comprising: encoding bit streams to generate encoded bit streams; spatially mapping, via spatial mapping modules, the encoded bit streams to generate data streams; and modulating the data streams generated by the spatial mapping modules to generate the modulated data streams.
 18. The method of claim 16, further comprising: receiving data streams from spatial mapping modules; generating sets of orthogonal frequency division multiplexing tones, wherein the modulated data streams comprise the sets of orthogonal frequency division multiplexing tones; and applying the matrices to the sets of orthogonal frequency division multiplexing tones to generate the multiplexed data streams.
 19. The method of claim 16, further comprising: transforming, via transform modules, outputs of the matrix modules to generate the multiplexed data streams; adding a cyclic prefix to each of the outputs of the transform modules via a respective cyclic prefix module; and converting outputs of the cyclic prefix modules to analog signals, wherein the analog signals include the multiplexed data streams.
 20. The method of claim 16, further comprising: estimating channel state information based on signals received from the plurality of client stations; and generating the matrices based on the channel state information. 